From 8262dbf71712a368cda2673b50829979d02ce0bf Mon Sep 17 00:00:00 2001 From: robertl Date: Mon, 18 Oct 2010 13:29:27 +0000 Subject: [PATCH] Fix min/max alt computations in KML writer. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4036 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/defs.h | 8 +- gpsbabel/gdb.c | 8 +- gpsbabel/gui/setup.iss | 1 - gpsbabel/gui/setup.iss.in | 1 - gpsbabel/kml.c | 2 +- gpsbabel/mapsource.c | 12 +- gpsbabel/reference/bounds-test.gpx | 266 +++ gpsbabel/reference/bounds-test.kml | 1436 ++++++++++++++++ .../reference/track/bounds-test-track.gpx | 268 +++ .../reference/track/bounds-test-track.kml | 1509 +++++++++++++++++ .../track/gpx_garmin_extensions-kml_track.kml | 2 +- .../track/segmented_tracks-track.kml | 6 +- gpsbabel/reference/track/segmented_tracks.kml | 4 +- gpsbabel/route.c | 14 +- gpsbabel/testo.d/kml.test | 7 + gpsbabel/waypt.c | 4 +- 16 files changed, 3516 insertions(+), 32 deletions(-) create mode 100644 gpsbabel/reference/bounds-test.gpx create mode 100644 gpsbabel/reference/bounds-test.kml create mode 100644 gpsbabel/reference/track/bounds-test-track.gpx create mode 100644 gpsbabel/reference/track/bounds-test-track.kml diff --git a/gpsbabel/defs.h b/gpsbabel/defs.h index dab33a81f..d69ae2a30 100644 --- a/gpsbabel/defs.h +++ b/gpsbabel/defs.h @@ -498,8 +498,8 @@ typedef struct { */ typedef struct { double distance_meters; - double max_alt; - double min_alt; + double max_alt; /* unknown_alt => invalid */ + double min_alt; /* -unknown_alt => invalid */ double max_spd; /* Meters/sec */ double min_spd; /* Meters/sec */ double avg_hrt; /* Avg Heartrate */ @@ -517,10 +517,10 @@ typedef struct { typedef struct { double max_lat; double max_lon; - double max_alt; + double max_alt; /* unknown_alt => invalid */ double min_lat; double min_lon; - double min_alt; + double min_alt; /* -unknown_alt => invalid */ } bounds; typedef struct { diff --git a/gpsbabel/gdb.c b/gpsbabel/gdb.c index 4ed2c6384..e122eccf7 100644 --- a/gpsbabel/gdb.c +++ b/gpsbabel/gdb.c @@ -110,8 +110,8 @@ /*******************************************************************************/ -/* static char gdb_release[] = "$Revision: 1.72 $"; */ -static char gdb_release_date[] = "$Date: 2010-04-11 22:41:17 $"; +/* static char gdb_release[] = "$Revision: 1.73 $"; */ +static char gdb_release_date[] = "$Date: 2010-10-18 13:29:25 $"; static gbfile *fin, *fout, *ftmp; static int gdb_ver, gdb_category, gdb_via, gdb_roadbook; @@ -1324,10 +1324,10 @@ route_write_bounds(bounds *bounds) FWRITE_C(0); FWRITE_LATLON(bounds->max_lat); FWRITE_LATLON(bounds->max_lon); - FWRITE_DBL(bounds->max_alt, -(unknown_alt)); + FWRITE_DBL(bounds->max_alt, unknown_alt); FWRITE_LATLON(bounds->min_lat); FWRITE_LATLON(bounds->min_lon); - FWRITE_DBL(bounds->min_alt, unknown_alt); + FWRITE_DBL(bounds->min_alt, -unknown_alt); } else FWRITE_C(1); } diff --git a/gpsbabel/gui/setup.iss b/gpsbabel/gui/setup.iss index b1b67983f..0dbc66f11 100755 --- a/gpsbabel/gui/setup.iss +++ b/gpsbabel/gui/setup.iss @@ -1,4 +1,3 @@ -; $Id: setup.iss,v 1.24 2010-10-10 19:04:53 robertl Exp $ ; ; NOTE: setup.iss is generated from setup.iss.in via autoconf. ; The generated setup.iss is checked in to help keep the version numbers diff --git a/gpsbabel/gui/setup.iss.in b/gpsbabel/gui/setup.iss.in index 11839e976..90c52cb58 100755 --- a/gpsbabel/gui/setup.iss.in +++ b/gpsbabel/gui/setup.iss.in @@ -1,4 +1,3 @@ -; $Id: setup.iss.in,v 1.6 2010-06-07 00:59:39 robertl Exp $ ; ; NOTE: setup.iss is generated from setup.iss.in via autoconf. ; The generated setup.iss is checked in to help keep the version numbers diff --git a/gpsbabel/kml.c b/gpsbabel/kml.c index aabf9ffe4..13996017b 100644 --- a/gpsbabel/kml.c +++ b/gpsbabel/kml.c @@ -573,7 +573,7 @@ void kml_output_trkdescription(const route_head *header, computed_trkdata *td) TD("Description %s", header->rte_desc); } TD2("Distance %.1f %s", distance, distance_units); - if (min_alt != unknown_alt) { + if (min_alt != -unknown_alt) { TD2("Min Alt %.3f %s", min_alt, min_alt_units); } if (max_alt != unknown_alt) { diff --git a/gpsbabel/mapsource.c b/gpsbabel/mapsource.c index 22f0f23b2..92eb2d595 100644 --- a/gpsbabel/mapsource.c +++ b/gpsbabel/mapsource.c @@ -1087,7 +1087,7 @@ mps_routehdr_w(gbfile *mps_file, int mps_ver, const route_head *rte) double minlat=90.0; double minlon=180.0; double maxalt=unknown_alt; - double minalt=unknown_alt; + double minalt=-unknown_alt; int lat; int lon; @@ -1116,7 +1116,7 @@ mps_routehdr_w(gbfile *mps_file, int mps_ver, const route_head *rte) if ((testwpt->altitude > maxalt) || (maxalt == unknown_alt)) maxalt = testwpt->altitude; if ((testwpt->altitude < minalt) || - (minalt == unknown_alt)) minalt = testwpt->altitude; + (minalt == -unknown_alt)) minalt = testwpt->altitude; } if(testwpt->description) src = testwpt->description; @@ -1196,7 +1196,7 @@ mps_routehdr_w(gbfile *mps_file, int mps_ver, const route_head *rte) gbfputint32(lat, mps_file); gbfputint32(lon, mps_file); - if (minalt == unknown_alt) { + if (minalt == -unknown_alt) { gbfwrite(zbuf, 9, 1, mps_file); } else { @@ -1235,7 +1235,7 @@ mps_routedatapoint_w(gbfile *mps_file, int mps_ver, const waypoint *rtewpt) int minlat; int minlon; double maxalt=unknown_alt; - double minalt=unknown_alt; + double minalt=-unknown_alt; double mps_altitude; waypoint *wptfound; @@ -1304,7 +1304,7 @@ mps_routedatapoint_w(gbfile *mps_file, int mps_ver, const waypoint *rtewpt) if ((prevRouteWpt->altitude > maxalt) || (maxalt == unknown_alt)) maxalt = prevRouteWpt->altitude; if ((prevRouteWpt->altitude < minalt) || - (minalt == unknown_alt)) minalt = prevRouteWpt->altitude; + (minalt == -unknown_alt)) minalt = prevRouteWpt->altitude; } gbfwrite (zbuf, 1, 1, mps_file); @@ -1325,7 +1325,7 @@ mps_routedatapoint_w(gbfile *mps_file, int mps_ver, const waypoint *rtewpt) gbfputint32(minlat, mps_file); gbfputint32(minlon, mps_file); - if (minalt == unknown_alt) { + if (minalt == -unknown_alt) { gbfwrite(zbuf, 9, 1, mps_file); } else { diff --git a/gpsbabel/reference/bounds-test.gpx b/gpsbabel/reference/bounds-test.gpx new file mode 100644 index 000000000..2da261fa6 --- /dev/null +++ b/gpsbabel/reference/bounds-test.gpx @@ -0,0 +1,266 @@ + + + + + 479.3 + Head east on CA-190 E/Nadeau Trail Continue to follow CA-190 E + go 52.3&#160;mi + go 52.3&#160;mi + + + -55.6 + Turn right at Airport Rd + go 0.8&#160;mi + go 0.8&#160;mi + + + -67.3 + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + + + Route + Generated from track Route + + 479.3 + RPT001 + + + 624.3 + RPT005 + + + 663.7 + RPT011 + + + 762.1 + RPT019 + + + 927.4 + RPT027 + + + 940.4 + RPT032 + + + 969.3 + RPT038 + + + 1028.2 + RPT046 + + + 1094.5 + RPT054 + + + 1132.7 + RPT060 + + + 1184.9 + RPT065 + + + 1201.8 + RPT068 + + + 1281.7 + RPT076 + + + 1311.3 + RPT081 + + + 1493.9 + RPT096 + + + 1439.5 + RPT104 + + + 1395.5 + RPT107 + + + 1377.7 + RPT112 + + + 1291.5 + RPT125 + + + 1226.0 + RPT130 + + + 1089.0 + RPT138 + + + 926.0 + RPT147 + + + 669.9 + RPT152 + + + 514.4 + RPT160 + + + 449.5 + RPT163 + + + 216.3 + RPT169 + + + 3.4 + RPT176 + + + -4.4 + RPT182 + + + -5.4 + RPT185 + + + -0.2 + RPT190 + + + -2.6 + RPT194 + + + -1.3 + RPT200 + + + -4.9 + RPT205 + + + -8.9 + RPT209 + + + -13.0 + RPT212 + + + -21.2 + RPT223 + + + 36.8 + RPT224 + + + 39.9 + RPT229 + + + 45.0 + RPT232 + + + 45.9 + RPT236 + + + 45.2 + RPT241 + + + 42.5 + RPT246 + + + -49.1 + RPT259 + + + -55.9 + RPT265 + + + -60.4 + RPT279 + + + -67.9 + RPT287 + + + -69.8 + RPT298 + + + -68.7 + RPT307 + + + -69.1 + RPT312 + + + -67.6 + RPT320 + + + -69.3 + RPT326 + + + -69.9 + RPT331 + + + -63.6 + RPT344 + + + -61.0 + RPT352 + + + -57.9 + RPT356 + + + -39.8 + RPT362 + + + -57.7 + RPT371 + + + -64.4 + RPT377 + + + -55.6 + RPT386 + + + -67.3 + RPT399 + + + diff --git a/gpsbabel/reference/bounds-test.kml b/gpsbabel/reference/bounds-test.kml new file mode 100644 index 000000000..ad43ae831 --- /dev/null +++ b/gpsbabel/reference/bounds-test.kml @@ -0,0 +1,1436 @@ + + + + GPS device + + + + + + + normal + #route_n + + + highlight + #route_h + + + + + + + + + normal + #waypoint_n + + + highlight + #waypoint_h + + + + + Waypoints + + Head east on CA-190 E/Nadeau Trail Continue to follow CA-190 E + go 52.3&#160;mi + #waypoint + + -117.422570,36.339560,479.30 + + + + Turn right at Airport Rd + go 0.8&#160;mi + #waypoint + + -116.865460,36.460850,-55.60 + + + + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + #waypoint + + -116.879200,36.463640,-67.30 + + + + + Routes + + Route + + Points + + RPT001 + + + Longitude: -117.422570 + Latitude: 36.339560 + Altitude: 1572.507 ft + + ]]> + + -117.422570 + 36.339560 + 66 + + #route + + -117.422570,36.339560,479.30 + + + + RPT005 + + + Longitude: -117.354270 + Latitude: 36.345010 + Altitude: 2048.228 ft + + ]]> + + -117.354270 + 36.345010 + 66 + + #route + + -117.354270,36.345010,624.30 + + + + RPT011 + + + Longitude: -117.349030 + Latitude: 36.344640 + Altitude: 2177.493 ft + + ]]> + + -117.349030 + 36.344640 + 66 + + #route + + -117.349030,36.344640,663.70 + + + + RPT019 + + + Longitude: -117.335270 + Latitude: 36.348710 + Altitude: 2500.328 ft + + ]]> + + -117.335270 + 36.348710 + 66 + + #route + + -117.335270,36.348710,762.10 + + + + RPT027 + + + Longitude: -117.316960 + Latitude: 36.346040 + Altitude: 3042.651 ft + + ]]> + + -117.316960 + 36.346040 + 66 + + #route + + -117.316960,36.346040,927.40 + + + + RPT032 + + + Longitude: -117.314020 + Latitude: 36.343080 + Altitude: 3085.302 ft + + ]]> + + -117.314020 + 36.343080 + 66 + + #route + + -117.314020,36.343080,940.40 + + + + RPT038 + + + Longitude: -117.311530 + Latitude: 36.342480 + Altitude: 3180.118 ft + + ]]> + + -117.311530 + 36.342480 + 66 + + #route + + -117.311530,36.342480,969.30 + + + + RPT046 + + + Longitude: -117.307620 + Latitude: 36.346880 + Altitude: 3373.360 ft + + ]]> + + -117.307620 + 36.346880 + 66 + + #route + + -117.307620,36.346880,1028.20 + + + + RPT054 + + + Longitude: -117.301180 + Latitude: 36.347060 + Altitude: 3590.879 ft + + ]]> + + -117.301180 + 36.347060 + 66 + + #route + + -117.301180,36.347060,1094.50 + + + + RPT060 + + + Longitude: -117.295650 + Latitude: 36.351920 + Altitude: 3716.207 ft + + ]]> + + -117.295650 + 36.351920 + 66 + + #route + + -117.295650,36.351920,1132.70 + + + + RPT065 + + + Longitude: -117.292270 + Latitude: 36.357050 + Altitude: 3887.467 ft + + ]]> + + -117.292270 + 36.357050 + 66 + + #route + + -117.292270,36.357050,1184.90 + + + + RPT068 + + + Longitude: -117.289430 + Latitude: 36.358440 + Altitude: 3942.913 ft + + ]]> + + -117.289430 + 36.358440 + 66 + + #route + + -117.289430,36.358440,1201.80 + + + + RPT076 + + + Longitude: -117.286380 + Latitude: 36.364320 + Altitude: 4205.052 ft + + ]]> + + -117.286380 + 36.364320 + 66 + + #route + + -117.286380,36.364320,1281.70 + + + + RPT081 + + + Longitude: -117.287070 + Latitude: 36.367970 + Altitude: 4302.165 ft + + ]]> + + -117.287070 + 36.367970 + 66 + + #route + + -117.287070,36.367970,1311.30 + + + + RPT096 + + + Longitude: -117.278460 + Latitude: 36.406150 + Altitude: 4901.247 ft + + ]]> + + -117.278460 + 36.406150 + 66 + + #route + + -117.278460,36.406150,1493.90 + + + + RPT104 + + + Longitude: -117.274150 + Latitude: 36.414650 + Altitude: 4722.769 ft + + ]]> + + -117.274150 + 36.414650 + 66 + + #route + + -117.274150,36.414650,1439.50 + + + + RPT107 + + + Longitude: -117.270260 + Latitude: 36.419620 + Altitude: 4578.412 ft + + ]]> + + -117.270260 + 36.419620 + 66 + + #route + + -117.270260,36.419620,1395.50 + + + + RPT112 + + + Longitude: -117.267430 + Latitude: 36.419700 + Altitude: 4520.013 ft + + ]]> + + -117.267430 + 36.419700 + 66 + + #route + + -117.267430,36.419700,1377.70 + + + + RPT125 + + + Longitude: -117.260620 + Latitude: 36.428730 + Altitude: 4237.205 ft + + ]]> + + -117.260620 + 36.428730 + 66 + + #route + + -117.260620,36.428730,1291.50 + + + + RPT130 + + + Longitude: -117.251140 + Latitude: 36.434140 + Altitude: 4022.310 ft + + ]]> + + -117.251140 + 36.434140 + 66 + + #route + + -117.251140,36.434140,1226.00 + + + + RPT138 + + + Longitude: -117.243900 + Latitude: 36.446250 + Altitude: 3572.835 ft + + ]]> + + -117.243900 + 36.446250 + 66 + + #route + + -117.243900,36.446250,1089.00 + + + + RPT147 + + + Longitude: -117.236110 + Latitude: 36.463810 + Altitude: 3038.058 ft + + ]]> + + -117.236110 + 36.463810 + 66 + + #route + + -117.236110,36.463810,926.00 + + + + RPT152 + + + Longitude: -117.226980 + Latitude: 36.494960 + Altitude: 2197.835 ft + + ]]> + + -117.226980 + 36.494960 + 66 + + #route + + -117.226980,36.494960,669.90 + + + + RPT160 + + + Longitude: -117.222650 + Latitude: 36.519980 + Altitude: 1687.664 ft + + ]]> + + -117.222650 + 36.519980 + 66 + + #route + + -117.222650,36.519980,514.40 + + + + RPT163 + + + Longitude: -117.218940 + Latitude: 36.529870 + Altitude: 1474.738 ft + + ]]> + + -117.218940 + 36.529870 + 66 + + #route + + -117.218940,36.529870,449.50 + + + + RPT169 + + + Longitude: -117.199580 + Latitude: 36.563200 + Altitude: 709.646 ft + + ]]> + + -117.199580 + 36.563200 + 66 + + #route + + -117.199580,36.563200,216.30 + + + + RPT176 + + + Longitude: -117.147410 + Latitude: 36.605940 + Altitude: 11.155 ft + + ]]> + + -117.147410 + 36.605940 + 66 + + #route + + -117.147410,36.605940,3.40 + + + + RPT182 + + + Longitude: -117.143600 + Latitude: 36.607880 + Altitude: -14.436 ft + + ]]> + + -117.143600 + 36.607880 + 66 + + #route + + -117.143600,36.607880,-4.40 + + + + RPT185 + + + Longitude: -117.137140 + Latitude: 36.607210 + Altitude: -17.717 ft + + ]]> + + -117.137140 + 36.607210 + 66 + + #route + + -117.137140,36.607210,-5.40 + + + + RPT190 + + + Longitude: -117.127830 + Latitude: 36.603590 + Altitude: -0.656 ft + + ]]> + + -117.127830 + 36.603590 + 66 + + #route + + -117.127830,36.603590,-0.20 + + + + RPT194 + + + Longitude: -117.117700 + Latitude: 36.605420 + Altitude: -8.530 ft + + ]]> + + -117.117700 + 36.605420 + 66 + + #route + + -117.117700,36.605420,-2.60 + + + + RPT200 + + + Longitude: -117.106740 + Latitude: 36.604640 + Altitude: -4.265 ft + + ]]> + + -117.106740 + 36.604640 + 66 + + #route + + -117.106740,36.604640,-1.30 + + + + RPT205 + + + Longitude: -117.097480 + Latitude: 36.601210 + Altitude: -16.076 ft + + ]]> + + -117.097480 + 36.601210 + 66 + + #route + + -117.097480,36.601210,-4.90 + + + + RPT209 + + + Longitude: -117.094200 + Latitude: 36.601720 + Altitude: -29.199 ft + + ]]> + + -117.094200 + 36.601720 + 66 + + #route + + -117.094200,36.601720,-8.90 + + + + RPT212 + + + Longitude: -117.082040 + Latitude: 36.611300 + Altitude: -42.651 ft + + ]]> + + -117.082040 + 36.611300 + 66 + + #route + + -117.082040,36.611300,-13.00 + + + + RPT223 + + + Longitude: -117.067710 + Latitude: 36.617900 + Altitude: -69.554 ft + + ]]> + + -117.067710 + 36.617900 + 66 + + #route + + -117.067710,36.617900,-21.20 + + + + RPT224 + + + Longitude: -117.035740 + Latitude: 36.639210 + Altitude: 120.735 ft + + ]]> + + -117.035740 + 36.639210 + 66 + + #route + + -117.035740,36.639210,36.80 + + + + RPT229 + + + Longitude: -117.031520 + Latitude: 36.639940 + Altitude: 130.906 ft + + ]]> + + -117.031520 + 36.639940 + 66 + + #route + + -117.031520,36.639940,39.90 + + + + RPT232 + + + Longitude: -117.029010 + Latitude: 36.638970 + Altitude: 147.638 ft + + ]]> + + -117.029010 + 36.638970 + 66 + + #route + + -117.029010,36.638970,45.00 + + + + RPT236 + + + Longitude: -117.024030 + Latitude: 36.633800 + Altitude: 150.591 ft + + ]]> + + -117.024030 + 36.633800 + 66 + + #route + + -117.024030,36.633800,45.90 + + + + RPT241 + + + Longitude: -117.016190 + Latitude: 36.628480 + Altitude: 148.294 ft + + ]]> + + -117.016190 + 36.628480 + 66 + + #route + + -117.016190,36.628480,45.20 + + + + RPT246 + + + Longitude: -117.006890 + Latitude: 36.625430 + Altitude: 139.436 ft + + ]]> + + -117.006890 + 36.625430 + 66 + + #route + + -117.006890,36.625430,42.50 + + + + RPT259 + + + Longitude: -116.969890 + Latitude: 36.596550 + Altitude: -161.089 ft + + ]]> + + -116.969890 + 36.596550 + 66 + + #route + + -116.969890,36.596550,-49.10 + + + + RPT265 + + + Longitude: -116.954760 + Latitude: 36.592470 + Altitude: -183.399 ft + + ]]> + + -116.954760 + 36.592470 + 66 + + #route + + -116.954760,36.592470,-55.90 + + + + RPT279 + + + Longitude: -116.936270 + Latitude: 36.584200 + Altitude: -198.163 ft + + ]]> + + -116.936270 + 36.584200 + 66 + + #route + + -116.936270,36.584200,-60.40 + + + + RPT287 + + + Longitude: -116.927060 + Latitude: 36.575990 + Altitude: -222.769 ft + + ]]> + + -116.927060 + 36.575990 + 66 + + #route + + -116.927060,36.575990,-67.90 + + + + RPT298 + + + Longitude: -116.909750 + Latitude: 36.568520 + Altitude: -229.003 ft + + ]]> + + -116.909750 + 36.568520 + 66 + + #route + + -116.909750,36.568520,-69.80 + + + + RPT307 + + + Longitude: -116.904380 + Latitude: 36.561450 + Altitude: -225.394 ft + + ]]> + + -116.904380 + 36.561450 + 66 + + #route + + -116.904380,36.561450,-68.70 + + + + RPT312 + + + Longitude: -116.894840 + Latitude: 36.557140 + Altitude: -226.706 ft + + ]]> + + -116.894840 + 36.557140 + 66 + + #route + + -116.894840,36.557140,-69.10 + + + + RPT320 + + + Longitude: -116.891610 + Latitude: 36.549690 + Altitude: -221.785 ft + + ]]> + + -116.891610 + 36.549690 + 66 + + #route + + -116.891610,36.549690,-67.60 + + + + RPT326 + + + Longitude: -116.886030 + Latitude: 36.543000 + Altitude: -227.362 ft + + ]]> + + -116.886030 + 36.543000 + 66 + + #route + + -116.886030,36.543000,-69.30 + + + + RPT331 + + + Longitude: -116.882770 + Latitude: 36.532760 + Altitude: -229.331 ft + + ]]> + + -116.882770 + 36.532760 + 66 + + #route + + -116.882770,36.532760,-69.90 + + + + RPT344 + + + Longitude: -116.881860 + Latitude: 36.513990 + Altitude: -208.661 ft + + ]]> + + -116.881860 + 36.513990 + 66 + + #route + + -116.881860,36.513990,-63.60 + + + + RPT352 + + + Longitude: -116.875450 + Latitude: 36.502030 + Altitude: -200.131 ft + + ]]> + + -116.875450 + 36.502030 + 66 + + #route + + -116.875450,36.502030,-61.00 + + + + RPT356 + + + Longitude: -116.875070 + Latitude: 36.498060 + Altitude: -189.961 ft + + ]]> + + -116.875070 + 36.498060 + 66 + + #route + + -116.875070,36.498060,-57.90 + + + + RPT362 + + + Longitude: -116.868420 + Latitude: 36.487220 + Altitude: -130.577 ft + + ]]> + + -116.868420 + 36.487220 + 66 + + #route + + -116.868420,36.487220,-39.80 + + + + RPT371 + + + Longitude: -116.871370 + Latitude: 36.482910 + Altitude: -189.304 ft + + ]]> + + -116.871370 + 36.482910 + 66 + + #route + + -116.871370,36.482910,-57.70 + + + + RPT377 + + + Longitude: -116.868950 + Latitude: 36.479500 + Altitude: -211.286 ft + + ]]> + + -116.868950 + 36.479500 + 66 + + #route + + -116.868950,36.479500,-64.40 + + + + RPT386 + + + Longitude: -116.865460 + Latitude: 36.460850 + Altitude: -182.415 ft + + ]]> + + -116.865460 + 36.460850 + 66 + + #route + + -116.865460,36.460850,-55.60 + + + + RPT399 + + + Longitude: -116.879200 + Latitude: 36.463640 + Altitude: -220.801 ft + + ]]> + + -116.879200 + 36.463640 + 66 + + #route + + -116.879200,36.463640,-67.30 + + + + + Path + #lineStyle + + 1 + + -117.422570,36.339560,479.30 + -117.422570,36.339560,479.300000 + -117.354270,36.345010,624.30 + -117.354270,36.345010,624.300000 + -117.349030,36.344640,663.70 + -117.349030,36.344640,663.700000 + -117.335270,36.348710,762.10 + -117.335270,36.348710,762.100000 + -117.316960,36.346040,927.40 + -117.316960,36.346040,927.400000 + -117.314020,36.343080,940.40 + -117.314020,36.343080,940.400000 + -117.311530,36.342480,969.30 + -117.311530,36.342480,969.300000 + -117.307620,36.346880,1028.20 + -117.307620,36.346880,1028.200000 + -117.301180,36.347060,1094.50 + -117.301180,36.347060,1094.500000 + -117.295650,36.351920,1132.70 + -117.295650,36.351920,1132.700000 + -117.292270,36.357050,1184.90 + -117.292270,36.357050,1184.900000 + -117.289430,36.358440,1201.80 + -117.289430,36.358440,1201.800000 + -117.286380,36.364320,1281.70 + -117.286380,36.364320,1281.700000 + -117.287070,36.367970,1311.30 + -117.287070,36.367970,1311.300000 + -117.278460,36.406150,1493.90 + -117.278460,36.406150,1493.900000 + -117.274150,36.414650,1439.50 + -117.274150,36.414650,1439.500000 + -117.270260,36.419620,1395.50 + -117.270260,36.419620,1395.500000 + -117.267430,36.419700,1377.70 + -117.267430,36.419700,1377.700000 + -117.260620,36.428730,1291.50 + -117.260620,36.428730,1291.500000 + -117.251140,36.434140,1226.00 + -117.251140,36.434140,1226.000000 + -117.243900,36.446250,1089.00 + -117.243900,36.446250,1089.000000 + -117.236110,36.463810,926.00 + -117.236110,36.463810,926.000000 + -117.226980,36.494960,669.90 + -117.226980,36.494960,669.900000 + -117.222650,36.519980,514.40 + -117.222650,36.519980,514.400000 + -117.218940,36.529870,449.50 + -117.218940,36.529870,449.500000 + -117.199580,36.563200,216.30 + -117.199580,36.563200,216.300000 + -117.147410,36.605940,3.40 + -117.147410,36.605940,3.400000 + -117.143600,36.607880,-4.40 + -117.143600,36.607880,-4.400000 + -117.137140,36.607210,-5.40 + -117.137140,36.607210,-5.400000 + -117.127830,36.603590,-0.20 + -117.127830,36.603590,-0.200000 + -117.117700,36.605420,-2.60 + -117.117700,36.605420,-2.600000 + -117.106740,36.604640,-1.30 + -117.106740,36.604640,-1.300000 + -117.097480,36.601210,-4.90 + -117.097480,36.601210,-4.900000 + -117.094200,36.601720,-8.90 + -117.094200,36.601720,-8.900000 + -117.082040,36.611300,-13.00 + -117.082040,36.611300,-13.000000 + -117.067710,36.617900,-21.20 + -117.067710,36.617900,-21.200000 + -117.035740,36.639210,36.80 + -117.035740,36.639210,36.800000 + -117.031520,36.639940,39.90 + -117.031520,36.639940,39.900000 + -117.029010,36.638970,45.00 + -117.029010,36.638970,45.000000 + -117.024030,36.633800,45.90 + -117.024030,36.633800,45.900000 + -117.016190,36.628480,45.20 + -117.016190,36.628480,45.200000 + -117.006890,36.625430,42.50 + -117.006890,36.625430,42.500000 + -116.969890,36.596550,-49.10 + -116.969890,36.596550,-49.100000 + -116.954760,36.592470,-55.90 + -116.954760,36.592470,-55.900000 + -116.936270,36.584200,-60.40 + -116.936270,36.584200,-60.400000 + -116.927060,36.575990,-67.90 + -116.927060,36.575990,-67.900000 + -116.909750,36.568520,-69.80 + -116.909750,36.568520,-69.800000 + -116.904380,36.561450,-68.70 + -116.904380,36.561450,-68.700000 + -116.894840,36.557140,-69.10 + -116.894840,36.557140,-69.100000 + -116.891610,36.549690,-67.60 + -116.891610,36.549690,-67.600000 + -116.886030,36.543000,-69.30 + -116.886030,36.543000,-69.300000 + -116.882770,36.532760,-69.90 + -116.882770,36.532760,-69.900000 + -116.881860,36.513990,-63.60 + -116.881860,36.513990,-63.600000 + -116.875450,36.502030,-61.00 + -116.875450,36.502030,-61.000000 + -116.875070,36.498060,-57.90 + -116.875070,36.498060,-57.900000 + -116.868420,36.487220,-39.80 + -116.868420,36.487220,-39.800000 + -116.871370,36.482910,-57.70 + -116.871370,36.482910,-57.700000 + -116.868950,36.479500,-64.40 + -116.868950,36.479500,-64.400000 + -116.865460,36.460850,-55.60 + -116.865460,36.460850,-55.600000 + -116.879200,36.463640,-67.30 + -116.879200,36.463640,-67.300000 + + + + + + + -117.144015 + 36.489750 + 78044.000069 + + + diff --git a/gpsbabel/reference/track/bounds-test-track.gpx b/gpsbabel/reference/track/bounds-test-track.gpx new file mode 100644 index 000000000..d27dd4b8a --- /dev/null +++ b/gpsbabel/reference/track/bounds-test-track.gpx @@ -0,0 +1,268 @@ + + + + + 479.300000 + Head east on CA-190 E/Nadeau Trail Continue to follow CA-190 E + go 52.3&#160;mi + go 52.3&#160;mi + + + -55.600000 + Turn right at Airport Rd + go 0.8&#160;mi + go 0.8&#160;mi + + + -67.300000 + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + + + Route + Generated from route Route + + + 479.300000 + RPT001 + + + 624.300000 + RPT005 + + + 663.700000 + RPT011 + + + 762.100000 + RPT019 + + + 927.400000 + RPT027 + + + 940.400000 + RPT032 + + + 969.300000 + RPT038 + + + 1028.200000 + RPT046 + + + 1094.500000 + RPT054 + + + 1132.700000 + RPT060 + + + 1184.900000 + RPT065 + + + 1201.800000 + RPT068 + + + 1281.700000 + RPT076 + + + 1311.300000 + RPT081 + + + 1493.900000 + RPT096 + + + 1439.500000 + RPT104 + + + 1395.500000 + RPT107 + + + 1377.700000 + RPT112 + + + 1291.500000 + RPT125 + + + 1226.000000 + RPT130 + + + 1089.000000 + RPT138 + + + 926.000000 + RPT147 + + + 669.900000 + RPT152 + + + 514.400000 + RPT160 + + + 449.500000 + RPT163 + + + 216.300000 + RPT169 + + + 3.400000 + RPT176 + + + -4.400000 + RPT182 + + + -5.400000 + RPT185 + + + -0.200000 + RPT190 + + + -2.600000 + RPT194 + + + -1.300000 + RPT200 + + + -4.900000 + RPT205 + + + -8.900000 + RPT209 + + + -13.000000 + RPT212 + + + -21.200000 + RPT223 + + + 36.800000 + RPT224 + + + 39.900000 + RPT229 + + + 45.000000 + RPT232 + + + 45.900000 + RPT236 + + + 45.200000 + RPT241 + + + 42.500000 + RPT246 + + + -49.100000 + RPT259 + + + -55.900000 + RPT265 + + + -60.400000 + RPT279 + + + -67.900000 + RPT287 + + + -69.800000 + RPT298 + + + -68.700000 + RPT307 + + + -69.100000 + RPT312 + + + -67.600000 + RPT320 + + + -69.300000 + RPT326 + + + -69.900000 + RPT331 + + + -63.600000 + RPT344 + + + -61.000000 + RPT352 + + + -57.900000 + RPT356 + + + -39.800000 + RPT362 + + + -57.700000 + RPT371 + + + -64.400000 + RPT377 + + + -55.600000 + RPT386 + + + -67.300000 + RPT399 + + + + diff --git a/gpsbabel/reference/track/bounds-test-track.kml b/gpsbabel/reference/track/bounds-test-track.kml new file mode 100644 index 000000000..c53f1a64b --- /dev/null +++ b/gpsbabel/reference/track/bounds-test-track.kml @@ -0,0 +1,1509 @@ + + + + GPS device + + + + + + + normal + #track_n + + + highlight + #track_h + + + + + + + + + normal + #waypoint_n + + + highlight + #waypoint_h + + + + + Waypoints + + Head east on CA-190 E/Nadeau Trail Continue to follow CA-190 E + go 52.3&#160;mi + #waypoint + + -117.422570,36.339560,479.30 + + + + Turn right at Airport Rd + go 0.8&#160;mi + #waypoint + + -116.865460,36.460850,-55.60 + + + + Arrive at: Furnace Creek Airport-L06, Death Valley National Park, Death Valley, CA 92328 + #waypoint + + -116.879200,36.463640,-67.30 + + + + + Tracks + + Route + + + + Description Generated from route Route + Distance 52.8 mi + Min Alt -229.331 ft + Max Alt 4901.247 ft + ]]> + + + Points + + RPT001 + + + Longitude: -117.422570 + Latitude: 36.339560 + Altitude: 1572.507 ft + Heading: 309.7 + + ]]> + + -117.422570 + 36.339560 + 66 + + #track + + -117.422570,36.339560,479.30 + + + + RPT005 + + + Longitude: -117.354270 + Latitude: 36.345010 + Altitude: 2048.228 ft + Heading: 84.3 + + ]]> + + -117.354270 + 36.345010 + 66 + + #track + + -117.354270,36.345010,624.30 + + + + RPT011 + + + Longitude: -117.349030 + Latitude: 36.344640 + Altitude: 2177.493 ft + Heading: 95.0 + + ]]> + + -117.349030 + 36.344640 + 66 + + #track + + -117.349030,36.344640,663.70 + + + + RPT019 + + + Longitude: -117.335270 + Latitude: 36.348710 + Altitude: 2500.328 ft + Heading: 69.8 + + ]]> + + -117.335270 + 36.348710 + 66 + + #track + + -117.335270,36.348710,762.10 + + + + RPT027 + + + Longitude: -117.316960 + Latitude: 36.346040 + Altitude: 3042.651 ft + Heading: 100.3 + + ]]> + + -117.316960 + 36.346040 + 66 + + #track + + -117.316960,36.346040,927.40 + + + + RPT032 + + + Longitude: -117.314020 + Latitude: 36.343080 + Altitude: 3085.302 ft + Heading: 141.3 + + ]]> + + -117.314020 + 36.343080 + 66 + + #track + + -117.314020,36.343080,940.40 + + + + RPT038 + + + Longitude: -117.311530 + Latitude: 36.342480 + Altitude: 3180.118 ft + Heading: 106.7 + + ]]> + + -117.311530 + 36.342480 + 66 + + #track + + -117.311530,36.342480,969.30 + + + + RPT046 + + + Longitude: -117.307620 + Latitude: 36.346880 + Altitude: 3373.360 ft + Heading: 35.6 + + ]]> + + -117.307620 + 36.346880 + 66 + + #track + + -117.307620,36.346880,1028.20 + + + + RPT054 + + + Longitude: -117.301180 + Latitude: 36.347060 + Altitude: 3590.879 ft + Heading: 88.0 + + ]]> + + -117.301180 + 36.347060 + 66 + + #track + + -117.301180,36.347060,1094.50 + + + + RPT060 + + + Longitude: -117.295650 + Latitude: 36.351920 + Altitude: 3716.207 ft + Heading: 42.5 + + ]]> + + -117.295650 + 36.351920 + 66 + + #track + + -117.295650,36.351920,1132.70 + + + + RPT065 + + + Longitude: -117.292270 + Latitude: 36.357050 + Altitude: 3887.467 ft + Heading: 28.0 + + ]]> + + -117.292270 + 36.357050 + 66 + + #track + + -117.292270,36.357050,1184.90 + + + + RPT068 + + + Longitude: -117.289430 + Latitude: 36.358440 + Altitude: 3942.913 ft + Heading: 58.7 + + ]]> + + -117.289430 + 36.358440 + 66 + + #track + + -117.289430,36.358440,1201.80 + + + + RPT076 + + + Longitude: -117.286380 + Latitude: 36.364320 + Altitude: 4205.052 ft + Heading: 22.7 + + ]]> + + -117.286380 + 36.364320 + 66 + + #track + + -117.286380,36.364320,1281.70 + + + + RPT081 + + + Longitude: -117.287070 + Latitude: 36.367970 + Altitude: 4302.165 ft + Heading: 351.3 + + ]]> + + -117.287070 + 36.367970 + 66 + + #track + + -117.287070,36.367970,1311.30 + + + + RPT096 + + + Longitude: -117.278460 + Latitude: 36.406150 + Altitude: 4901.247 ft + Heading: 10.3 + + ]]> + + -117.278460 + 36.406150 + 66 + + #track + + -117.278460,36.406150,1493.90 + + + + RPT104 + + + Longitude: -117.274150 + Latitude: 36.414650 + Altitude: 4722.769 ft + Heading: 22.2 + + ]]> + + -117.274150 + 36.414650 + 66 + + #track + + -117.274150,36.414650,1439.50 + + + + RPT107 + + + Longitude: -117.270260 + Latitude: 36.419620 + Altitude: 4578.412 ft + Heading: 32.2 + + ]]> + + -117.270260 + 36.419620 + 66 + + #track + + -117.270260,36.419620,1395.50 + + + + RPT112 + + + Longitude: -117.267430 + Latitude: 36.419700 + Altitude: 4520.013 ft + Heading: 88.0 + + ]]> + + -117.267430 + 36.419700 + 66 + + #track + + -117.267430,36.419700,1377.70 + + + + RPT125 + + + Longitude: -117.260620 + Latitude: 36.428730 + Altitude: 4237.205 ft + Heading: 31.2 + + ]]> + + -117.260620 + 36.428730 + 66 + + #track + + -117.260620,36.428730,1291.50 + + + + RPT130 + + + Longitude: -117.251140 + Latitude: 36.434140 + Altitude: 4022.310 ft + Heading: 54.6 + + ]]> + + -117.251140 + 36.434140 + 66 + + #track + + -117.251140,36.434140,1226.00 + + + + RPT138 + + + Longitude: -117.243900 + Latitude: 36.446250 + Altitude: 3572.835 ft + Heading: 25.7 + + ]]> + + -117.243900 + 36.446250 + 66 + + #track + + -117.243900,36.446250,1089.00 + + + + RPT147 + + + Longitude: -117.236110 + Latitude: 36.463810 + Altitude: 3038.058 ft + Heading: 19.6 + + ]]> + + -117.236110 + 36.463810 + 66 + + #track + + -117.236110,36.463810,926.00 + + + + RPT152 + + + Longitude: -117.226980 + Latitude: 36.494960 + Altitude: 2197.835 ft + Heading: 13.3 + + ]]> + + -117.226980 + 36.494960 + 66 + + #track + + -117.226980,36.494960,669.90 + + + + RPT160 + + + Longitude: -117.222650 + Latitude: 36.519980 + Altitude: 1687.664 ft + Heading: 7.9 + + ]]> + + -117.222650 + 36.519980 + 66 + + #track + + -117.222650,36.519980,514.40 + + + + RPT163 + + + Longitude: -117.218940 + Latitude: 36.529870 + Altitude: 1474.738 ft + Heading: 16.8 + + ]]> + + -117.218940 + 36.529870 + 66 + + #track + + -117.218940,36.529870,449.50 + + + + RPT169 + + + Longitude: -117.199580 + Latitude: 36.563200 + Altitude: 709.646 ft + Heading: 25.0 + + ]]> + + -117.199580 + 36.563200 + 66 + + #track + + -117.199580,36.563200,216.30 + + + + RPT176 + + + Longitude: -117.147410 + Latitude: 36.605940 + Altitude: 11.155 ft + Heading: 44.4 + + ]]> + + -117.147410 + 36.605940 + 66 + + #track + + -117.147410,36.605940,3.40 + + + + RPT182 + + + Longitude: -117.143600 + Latitude: 36.607880 + Altitude: -14.436 ft + Heading: 57.6 + + ]]> + + -117.143600 + 36.607880 + 66 + + #track + + -117.143600,36.607880,-4.40 + + + + RPT185 + + + Longitude: -117.137140 + Latitude: 36.607210 + Altitude: -17.717 ft + Heading: 97.4 + + ]]> + + -117.137140 + 36.607210 + 66 + + #track + + -117.137140,36.607210,-5.40 + + + + RPT190 + + + Longitude: -117.127830 + Latitude: 36.603590 + Altitude: -0.656 ft + Heading: 115.8 + + ]]> + + -117.127830 + 36.603590 + 66 + + #track + + -117.127830,36.603590,-0.20 + + + + RPT194 + + + Longitude: -117.117700 + Latitude: 36.605420 + Altitude: -8.530 ft + Heading: 77.3 + + ]]> + + -117.117700 + 36.605420 + 66 + + #track + + -117.117700,36.605420,-2.60 + + + + RPT200 + + + Longitude: -117.106740 + Latitude: 36.604640 + Altitude: -4.265 ft + Heading: 95.1 + + ]]> + + -117.106740 + 36.604640 + 66 + + #track + + -117.106740,36.604640,-1.30 + + + + RPT205 + + + Longitude: -117.097480 + Latitude: 36.601210 + Altitude: -16.076 ft + Heading: 114.8 + + ]]> + + -117.097480 + 36.601210 + 66 + + #track + + -117.097480,36.601210,-4.90 + + + + RPT209 + + + Longitude: -117.094200 + Latitude: 36.601720 + Altitude: -29.199 ft + Heading: 79.0 + + ]]> + + -117.094200 + 36.601720 + 66 + + #track + + -117.094200,36.601720,-8.90 + + + + RPT212 + + + Longitude: -117.082040 + Latitude: 36.611300 + Altitude: -42.651 ft + Heading: 45.5 + + ]]> + + -117.082040 + 36.611300 + 66 + + #track + + -117.082040,36.611300,-13.00 + + + + RPT223 + + + Longitude: -117.067710 + Latitude: 36.617900 + Altitude: -69.554 ft + Heading: 60.1 + + ]]> + + -117.067710 + 36.617900 + 66 + + #track + + -117.067710,36.617900,-21.20 + + + + RPT224 + + + Longitude: -117.035740 + Latitude: 36.639210 + Altitude: 120.735 ft + Heading: 50.3 + + ]]> + + -117.035740 + 36.639210 + 66 + + #track + + -117.035740,36.639210,36.80 + + + + RPT229 + + + Longitude: -117.031520 + Latitude: 36.639940 + Altitude: 130.906 ft + Heading: 77.8 + + ]]> + + -117.031520 + 36.639940 + 66 + + #track + + -117.031520,36.639940,39.90 + + + + RPT232 + + + Longitude: -117.029010 + Latitude: 36.638970 + Altitude: 147.638 ft + Heading: 115.7 + + ]]> + + -117.029010 + 36.638970 + 66 + + #track + + -117.029010,36.638970,45.00 + + + + RPT236 + + + Longitude: -117.024030 + Latitude: 36.633800 + Altitude: 150.591 ft + Heading: 142.3 + + ]]> + + -117.024030 + 36.633800 + 66 + + #track + + -117.024030,36.633800,45.90 + + + + RPT241 + + + Longitude: -117.016190 + Latitude: 36.628480 + Altitude: 148.294 ft + Heading: 130.2 + + ]]> + + -117.016190 + 36.628480 + 66 + + #track + + -117.016190,36.628480,45.20 + + + + RPT246 + + + Longitude: -117.006890 + Latitude: 36.625430 + Altitude: 139.436 ft + Heading: 112.2 + + ]]> + + -117.006890 + 36.625430 + 66 + + #track + + -117.006890,36.625430,42.50 + + + + RPT259 + + + Longitude: -116.969890 + Latitude: 36.596550 + Altitude: -161.089 ft + Heading: 134.2 + + ]]> + + -116.969890 + 36.596550 + 66 + + #track + + -116.969890,36.596550,-49.10 + + + + RPT265 + + + Longitude: -116.954760 + Latitude: 36.592470 + Altitude: -183.399 ft + Heading: 108.6 + + ]]> + + -116.954760 + 36.592470 + 66 + + #track + + -116.954760,36.592470,-55.90 + + + + RPT279 + + + Longitude: -116.936270 + Latitude: 36.584200 + Altitude: -198.163 ft + Heading: 119.1 + + ]]> + + -116.936270 + 36.584200 + 66 + + #track + + -116.936270,36.584200,-60.40 + + + + RPT287 + + + Longitude: -116.927060 + Latitude: 36.575990 + Altitude: -222.769 ft + Heading: 138.0 + + ]]> + + -116.927060 + 36.575990 + 66 + + #track + + -116.927060,36.575990,-67.90 + + + + RPT298 + + + Longitude: -116.909750 + Latitude: 36.568520 + Altitude: -229.003 ft + Heading: 118.2 + + ]]> + + -116.909750 + 36.568520 + 66 + + #track + + -116.909750,36.568520,-69.80 + + + + RPT307 + + + Longitude: -116.904380 + Latitude: 36.561450 + Altitude: -225.394 ft + Heading: 148.6 + + ]]> + + -116.904380 + 36.561450 + 66 + + #track + + -116.904380,36.561450,-68.70 + + + + RPT312 + + + Longitude: -116.894840 + Latitude: 36.557140 + Altitude: -226.706 ft + Heading: 119.4 + + ]]> + + -116.894840 + 36.557140 + 66 + + #track + + -116.894840,36.557140,-69.10 + + + + RPT320 + + + Longitude: -116.891610 + Latitude: 36.549690 + Altitude: -221.785 ft + Heading: 160.8 + + ]]> + + -116.891610 + 36.549690 + 66 + + #track + + -116.891610,36.549690,-67.60 + + + + RPT326 + + + Longitude: -116.886030 + Latitude: 36.543000 + Altitude: -227.362 ft + Heading: 146.2 + + ]]> + + -116.886030 + 36.543000 + 66 + + #track + + -116.886030,36.543000,-69.30 + + + + RPT331 + + + Longitude: -116.882770 + Latitude: 36.532760 + Altitude: -229.331 ft + Heading: 165.7 + + ]]> + + -116.882770 + 36.532760 + 66 + + #track + + -116.882770,36.532760,-69.90 + + + + RPT344 + + + Longitude: -116.881860 + Latitude: 36.513990 + Altitude: -208.661 ft + Heading: 177.8 + + ]]> + + -116.881860 + 36.513990 + 66 + + #track + + -116.881860,36.513990,-63.60 + + + + RPT352 + + + Longitude: -116.875450 + Latitude: 36.502030 + Altitude: -200.131 ft + Heading: 156.7 + + ]]> + + -116.875450 + 36.502030 + 66 + + #track + + -116.875450,36.502030,-61.00 + + + + RPT356 + + + Longitude: -116.875070 + Latitude: 36.498060 + Altitude: -189.961 ft + Heading: 175.6 + + ]]> + + -116.875070 + 36.498060 + 66 + + #track + + -116.875070,36.498060,-57.90 + + + + RPT362 + + + Longitude: -116.868420 + Latitude: 36.487220 + Altitude: -130.577 ft + Heading: 153.7 + + ]]> + + -116.868420 + 36.487220 + 66 + + #track + + -116.868420,36.487220,-39.80 + + + + RPT371 + + + Longitude: -116.871370 + Latitude: 36.482910 + Altitude: -189.304 ft + Heading: 208.8 + + ]]> + + -116.871370 + 36.482910 + 66 + + #track + + -116.871370,36.482910,-57.70 + + + + RPT377 + + + Longitude: -116.868950 + Latitude: 36.479500 + Altitude: -211.286 ft + Heading: 150.3 + + ]]> + + -116.868950 + 36.479500 + 66 + + #track + + -116.868950,36.479500,-64.40 + + + + RPT386 + + + Longitude: -116.865460 + Latitude: 36.460850 + Altitude: -182.415 ft + Heading: 171.4 + + ]]> + + -116.865460 + 36.460850 + 66 + + #track + + -116.865460,36.460850,-55.60 + + + + RPT399 + + + Longitude: -116.879200 + Latitude: 36.463640 + Altitude: -220.801 ft + Heading: 284.2 + + ]]> + + -116.879200 + 36.463640 + 66 + + #track + + -116.879200,36.463640,-67.30 + + + + + Path + #lineStyle + + 1 + + -117.422570,36.339560,479.30 + -117.422570,36.339560,479.300000 + -117.354270,36.345010,624.30 + -117.354270,36.345010,624.300000 + -117.349030,36.344640,663.70 + -117.349030,36.344640,663.700000 + -117.335270,36.348710,762.10 + -117.335270,36.348710,762.100000 + -117.316960,36.346040,927.40 + -117.316960,36.346040,927.400000 + -117.314020,36.343080,940.40 + -117.314020,36.343080,940.400000 + -117.311530,36.342480,969.30 + -117.311530,36.342480,969.300000 + -117.307620,36.346880,1028.20 + -117.307620,36.346880,1028.200000 + -117.301180,36.347060,1094.50 + -117.301180,36.347060,1094.500000 + -117.295650,36.351920,1132.70 + -117.295650,36.351920,1132.700000 + -117.292270,36.357050,1184.90 + -117.292270,36.357050,1184.900000 + -117.289430,36.358440,1201.80 + -117.289430,36.358440,1201.800000 + -117.286380,36.364320,1281.70 + -117.286380,36.364320,1281.700000 + -117.287070,36.367970,1311.30 + -117.287070,36.367970,1311.300000 + -117.278460,36.406150,1493.90 + -117.278460,36.406150,1493.900000 + -117.274150,36.414650,1439.50 + -117.274150,36.414650,1439.500000 + -117.270260,36.419620,1395.50 + -117.270260,36.419620,1395.500000 + -117.267430,36.419700,1377.70 + -117.267430,36.419700,1377.700000 + -117.260620,36.428730,1291.50 + -117.260620,36.428730,1291.500000 + -117.251140,36.434140,1226.00 + -117.251140,36.434140,1226.000000 + -117.243900,36.446250,1089.00 + -117.243900,36.446250,1089.000000 + -117.236110,36.463810,926.00 + -117.236110,36.463810,926.000000 + -117.226980,36.494960,669.90 + -117.226980,36.494960,669.900000 + -117.222650,36.519980,514.40 + -117.222650,36.519980,514.400000 + -117.218940,36.529870,449.50 + -117.218940,36.529870,449.500000 + -117.199580,36.563200,216.30 + -117.199580,36.563200,216.300000 + -117.147410,36.605940,3.40 + -117.147410,36.605940,3.400000 + -117.143600,36.607880,-4.40 + -117.143600,36.607880,-4.400000 + -117.137140,36.607210,-5.40 + -117.137140,36.607210,-5.400000 + -117.127830,36.603590,-0.20 + -117.127830,36.603590,-0.200000 + -117.117700,36.605420,-2.60 + -117.117700,36.605420,-2.600000 + -117.106740,36.604640,-1.30 + -117.106740,36.604640,-1.300000 + -117.097480,36.601210,-4.90 + -117.097480,36.601210,-4.900000 + -117.094200,36.601720,-8.90 + -117.094200,36.601720,-8.900000 + -117.082040,36.611300,-13.00 + -117.082040,36.611300,-13.000000 + -117.067710,36.617900,-21.20 + -117.067710,36.617900,-21.200000 + -117.035740,36.639210,36.80 + -117.035740,36.639210,36.800000 + -117.031520,36.639940,39.90 + -117.031520,36.639940,39.900000 + -117.029010,36.638970,45.00 + -117.029010,36.638970,45.000000 + -117.024030,36.633800,45.90 + -117.024030,36.633800,45.900000 + -117.016190,36.628480,45.20 + -117.016190,36.628480,45.200000 + -117.006890,36.625430,42.50 + -117.006890,36.625430,42.500000 + -116.969890,36.596550,-49.10 + -116.969890,36.596550,-49.100000 + -116.954760,36.592470,-55.90 + -116.954760,36.592470,-55.900000 + -116.936270,36.584200,-60.40 + -116.936270,36.584200,-60.400000 + -116.927060,36.575990,-67.90 + -116.927060,36.575990,-67.900000 + -116.909750,36.568520,-69.80 + -116.909750,36.568520,-69.800000 + -116.904380,36.561450,-68.70 + -116.904380,36.561450,-68.700000 + -116.894840,36.557140,-69.10 + -116.894840,36.557140,-69.100000 + -116.891610,36.549690,-67.60 + -116.891610,36.549690,-67.600000 + -116.886030,36.543000,-69.30 + -116.886030,36.543000,-69.300000 + -116.882770,36.532760,-69.90 + -116.882770,36.532760,-69.900000 + -116.881860,36.513990,-63.60 + -116.881860,36.513990,-63.600000 + -116.875450,36.502030,-61.00 + -116.875450,36.502030,-61.000000 + -116.875070,36.498060,-57.90 + -116.875070,36.498060,-57.900000 + -116.868420,36.487220,-39.80 + -116.868420,36.487220,-39.800000 + -116.871370,36.482910,-57.70 + -116.871370,36.482910,-57.700000 + -116.868950,36.479500,-64.40 + -116.868950,36.479500,-64.400000 + -116.865460,36.460850,-55.60 + -116.865460,36.460850,-55.600000 + -116.879200,36.463640,-67.30 + -116.879200,36.463640,-67.300000 + + + + + + + -117.144015 + 36.489750 + 78044.000069 + + + diff --git a/gpsbabel/reference/track/gpx_garmin_extensions-kml_track.kml b/gpsbabel/reference/track/gpx_garmin_extensions-kml_track.kml index c7eccb06d..102d6fef3 100644 --- a/gpsbabel/reference/track/gpx_garmin_extensions-kml_track.kml +++ b/gpsbabel/reference/track/gpx_garmin_extensions-kml_track.kml @@ -175,7 +175,7 @@ Distance 85.9 ft - Min Alt 0.449 ft + Min Alt -51.588 ft Max Alt 0.449 ft Max Speed 11.3 mph Avg Speed 8.4 mph diff --git a/gpsbabel/reference/track/segmented_tracks-track.kml b/gpsbabel/reference/track/segmented_tracks-track.kml index 4134808d6..bc7c715e9 100644 --- a/gpsbabel/reference/track/segmented_tracks-track.kml +++ b/gpsbabel/reference/track/segmented_tracks-track.kml @@ -110,7 +110,7 @@ Distance 1.1 mi - Min Alt 621371.192 mi + Min Alt 0.000 ft Max Alt 0.000 ft ]]> @@ -713,7 +713,7 @@ Distance 1.1 mi - Min Alt 621371.192 mi + Min Alt 0.000 ft Max Alt 0.000 ft ]]> @@ -1264,7 +1264,7 @@ Distance 1.1 mi - Min Alt 621371.192 mi + Min Alt 0.000 ft Max Alt 0.000 ft Max Speed 0.0 mph Avg Speed 6.1 mph diff --git a/gpsbabel/reference/track/segmented_tracks.kml b/gpsbabel/reference/track/segmented_tracks.kml index e58bc4a51..e1432e8af 100644 --- a/gpsbabel/reference/track/segmented_tracks.kml +++ b/gpsbabel/reference/track/segmented_tracks.kml @@ -75,7 +75,7 @@ Distance 1.1 mi - Min Alt 621371.192 mi + Min Alt 0.000 ft Max Alt 0.000 ft ]]> @@ -626,7 +626,7 @@ Distance 1.1 mi - Min Alt 621371.192 mi + Min Alt 0.000 ft Max Alt 0.000 ft Max Speed 0.0 mph Avg Speed 6.1 mph diff --git a/gpsbabel/route.c b/gpsbabel/route.c index aab7bddbd..3c34e6cd4 100644 --- a/gpsbabel/route.c +++ b/gpsbabel/route.c @@ -565,8 +565,8 @@ void track_recompute(const route_head *trk, computed_trkdata **trkdatap) first.longitude = 0; first.creation_time = 0; tdata->min_hrt = 9999; - tdata->min_alt = 999999999; - tdata->max_alt = -999999999; + tdata->min_alt = -unknown_alt; + tdata->max_alt = unknown_alt; QUEUE_FOR_EACH((queue *)&trk->waypoint_list, elem, tmp) { time_t timed; @@ -611,11 +611,11 @@ void track_recompute(const route_head *trk, computed_trkdata **trkdatap) } } - if ((thisw->altitude > 0) && (thisw->altitude < tdata->min_alt)) { - tdata->min_alt = thisw->altitude; - } - if (thisw->altitude > tdata->max_alt) { - tdata->max_alt = thisw->altitude; + if (thisw->altitude != unknown_alt) { + if (thisw->altitude < tdata->min_alt) + tdata->min_alt = thisw->altitude; + if (thisw->altitude > tdata->max_alt) + tdata->max_alt = thisw->altitude; } if (thisw->heartrate > 0) { diff --git a/gpsbabel/testo.d/kml.test b/gpsbabel/testo.d/kml.test index 13b08910a..c686288d6 100644 --- a/gpsbabel/testo.d/kml.test +++ b/gpsbabel/testo.d/kml.test @@ -30,3 +30,10 @@ gpsbabel -i gtrnctr -f ${REFERENCE}/track/gtrnctr_power.tcx \ -o kml,track=1,points=0,lines=0 -F ${TMPDIR}/ge-power.kml compare ${REFERENCE}/track/gtrnctr_power-kml.kml ${TMPDIR}/ge-power.kml +# test searches for route and waypoint min and max altitudes +gpsbabel -i gpx -f ${REFERENCE}/bounds-test.gpx -o kml -F ${TMPDIR}/bnds.kml +compare ${REFERENCE}/bounds-test.kml ${TMPDIR}/bnds.kml +gpsbabel -i gpx -f ${REFERENCE}/track/bounds-test-track.gpx -o kml -F ${TMPDIR}/bnds-track.kml +compare ${REFERENCE}/track/bounds-test-track.kml ${TMPDIR}/bnds-track.kml + + diff --git a/gpsbabel/waypt.c b/gpsbabel/waypt.c index f40c54b39..912a463ee 100644 --- a/gpsbabel/waypt.c +++ b/gpsbabel/waypt.c @@ -295,8 +295,8 @@ waypt_init_bounds(bounds *bounds) bounds->max_lon = -9999; bounds->min_lat = 9999; bounds->min_lon = 9999; - bounds->max_alt = -unknown_alt; - bounds->min_alt = unknown_alt; + bounds->max_alt = unknown_alt; + bounds->min_alt = -unknown_alt; } int -- 2.30.2